package com.itheima.d06_io_buffer_case;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;

public class Test {

    public static void main(String[] args) {
        try (
                //1.创建缓冲字符输入流对象，和指定的源文件建立输入流管道
                FileReader fr = new FileReader("day11_io\\src\\com\\itheima\\d06_io_buffer_case\\haiyan.txt");
                BufferedReader br = new BufferedReader(fr);

                //4.创建缓冲字符输出流对象，和指定目标文件建立输出流管道
                FileWriter fw = new FileWriter("day11_io\\src\\com\\itheima\\d06_io_buffer_case\\haiyan_handle.txt");
                BufferedWriter bw = new BufferedWriter(fw);
        ) {


            //2.使用输入流读取文本中的数据
            ArrayList<String> list = new ArrayList<>();
            //读取一行，存储到ArrayList
            String line;
            while ((line = br.readLine()) != null) {
                list.add(line);
            }

            list.forEach(System.out::println);

            //3.对读取到的数据集合进行排序
            Collections.sort(list); //字符串默认排序规则：按照ASCII码值进行排序

            //5.使用输出流将排序后的数据写入到目标文件中
            //每一行，需要换行
            for (String data : list) {
                bw.write(data);
                bw.newLine(); //换行
            }

        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }
}
